// HJ63 DNA序列 GC-Ratio
// https://www.nowcoder.com/practice/e8480ed7501640709354db1cc4ffd42a
// 一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成。 G 和 C 的比例（定义为
// GC-Ratio ）是序列中 G 和 C
// 两个字母的总的出现次数除以总的字母数目（也就是序列长度）。在基因工程中，
// 这个比例非常重要。因为高的GC-Ratio 可能是基因的起始点。
// 给定一个很长的 DNA 序列，以及限定的子串长度 N，
// 请帮助研究人员在给出的 DNA 序列中从左往右找出 GC-Ratio 最高且长度为 N
// 的第一个子串。 DNA序列为 ACGT 的子串有: ACG , CG , CGT 等等，
// 但是没有 AGT , CT 等等
//  01234567890
//  AACTGTGCACGACCTGA   5
//    GCACG
//    ^
#include <iostream>
struct StrInfo {
  int startIndex;
  int gc_count;
};
bool isGC(char c) { return (c == 'G' || c == 'C'); }
int main() {
  std::string str;
  int len;
  std::cin >> str >> len;
  std::vector<std::string> strSub;
  std::vector<int> lenSub;
  // str = "AACTGTGCACGACCTGA";
  // len = 5;
  int maxCount = 0;
  int lastCount = 0;
  int maxId = 0;
  for (int i = 0; i < len && i < str.length(); i++) {
    if (isGC(str.at(i))) {
      maxCount++;
      lastCount++;
    }
    // printf("i=%d,lastcnt=%d, max=%d, str=%s\n", 0, lastCount, maxCount,
    // str.substr(0, i+1).c_str() );
  }
  for (int i = len; i < str.length(); i++) {
    int add = isGC(str.at(i)) - isGC(str.at(i - len));
    lastCount += add;
    if (lastCount > maxCount) {
      maxCount = lastCount;
      maxId = i - len + 1;
    }
    // printf("index=%02d, lastcnt=%d, max=%d, str=%s\n", i - len + 1,
    // lastCount, maxCount, str.substr(i-len+1, len).c_str() );
  }
  printf("%s", str.substr(maxId, len).c_str());
}